package com.nameless.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 
 * </p>
 *
 * @author chh
 * @since 2023-02-26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_client")
@ApiModel(value="Client对象", description="")
public class Client implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "会员客户ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "账号")
    private String username;

    @ApiModelProperty(value = "密码")
    private String password;


    @ApiModelProperty(value = "账号状态（帐号启用状态:0->禁用；1->启用）")
    private Integer status;

    @ApiModelProperty(value = "(身份证，护照，军官证，台胞证，港澳台来往内地通行证)")
    private String idType;

    @ApiModelProperty(value = "正面")
    private String pathFront;

    @ApiModelProperty(value = "反面")
    private String pathReverse;

    @ApiModelProperty(value = "客户名字")
    private String name;

    @ApiModelProperty(value = "联系人")
    private String contactName;

    @ApiModelProperty(value = "联系电话")
    private String contactPhone;

    @ApiModelProperty(value = "联系地址")
    private String contactAddress;

    @ApiModelProperty(value = "驾照号")
    private String licenseNo;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "电话")
    private String phoneNum;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "会员级别（普通，金卡，白金，钻石）")
    private Integer memberLevelId;

    @ApiModelProperty(value = "账户余额")
    @TableField("Account_Balance")
    private BigDecimal accountBalance;

    @ApiModelProperty(value = "积分")
    private Integer integration;

    @ApiModelProperty(value = "成长值")
    private Double growth;

    @ApiModelProperty(value = "历史积分数量")
    private Integer historyIntegration;

    @ApiModelProperty(value = "微信返回ID")
    private Integer openId;


    @ApiModelProperty(value = "头像")
    private String headPic;

    @ApiModelProperty(value = "证件类型")
    private String credentialsType;

    @ApiModelProperty(value = "证件号")
    private String idNumber;

    @ApiModelProperty(value = "新老用户")
    private Integer newOrder;

    @TableField(exist = false)
    private MemberLevel memberLevel;
}
